﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.IO;
using Portal.Web.Global;
using Portal.Web.Framework;
using Portal.Core;


namespace Portal.Gui.Web.WebParts.AssetTn
{
    #region model
    public class Intro
    {
        public string Heading;
        public string Content;
        public string Url;

        public Intro()
        {
        }

        public Intro(string _Heading,string _Content,string _Url)
        {
            Heading = _Heading;
            Content = _Content;
            Url = _Url;
        }

        public Intro(string _Heading, string _Content)
        {
            Heading = _Heading;
            Content = _Content;
        }
    }

    public class RawData
    {
        public string Id;
        public string ImageResource;
        public string Title;
        public string Sender;
        public string DateText;

        public RawData()
        {
        }

        public RawData(string _Id, string _ImageResource, string _Title, string _Sender, string _DateText)
        {
            Id = _Id;
            ImageResource = _ImageResource;
            Title = _Title;
            Sender = _Sender;
            DateText = _DateText;
        }

        public RawData(string _ImageResource, string _Title, string _Sender, string _DateText)
        {
            ImageResource = _ImageResource;
            Title = _Title;
            Sender = _Sender;
            DateText = _DateText;
        }
    }


    public class SelectGroupDropdownMenu
    {
        public string Subject;
        public string Url;

        public SelectGroupDropdownMenu()
        {
        }

        public SelectGroupDropdownMenu(string _Subject,string _Url)
        {
            Subject = _Subject;
            Url = _Url;
        }
    }

    public class SelectGroup
    {
        public string GroupId;
        public string GroupName;
        public string ImageResourceUrl;
        public SelectItem[] SelectItems = new SelectItem[0];
        public SelectGroupDropdownMenu[] SelectGroupDropdownMenus = new SelectGroupDropdownMenu[0];

        public SelectGroup()
        {
        }

        public SelectGroup(string _GroupId, string _GroupName, string _ImageResourceUrl, SelectItem[] _SelectItems, SelectGroupDropdownMenu[] _SelectGroupDropdownMenus)
        {
            GroupId = _GroupId;
            GroupName = _GroupName;
            ImageResourceUrl = _ImageResourceUrl;
            SelectItems = _SelectItems;
            SelectGroupDropdownMenus = _SelectGroupDropdownMenus;
        }
    }

    public class SelectItem
    {
        public string Id;
        public string Subject;
        public string Description;
        public string Url="";
        public string Param = "";
        public SelectItem()
        {
        }

        public SelectItem(string _Id,string _Subject,string _Description)
        {
            Id = _Id;
            Subject = _Subject;
            Description = _Description;
        }
        public SelectItem(string _Id, string _Subject, string _Description,string _Url)
        {
            Id = _Id;
            Subject = _Subject;
            Description = _Description;
            Url = _Url;
        }

        public SelectItem(string _Id, string _Subject, string _Description, string _Url,string _Param)
        {
            Id = _Id;
            Subject = _Subject;
            Description = _Description;
            Url = _Url;
            Param = _Param;
        }
    }

    public class AjaxProcessOut
    {
        public bool IsError = false;
        public string Html = "";
    }
    #endregion

    public class AssetTNWebRenderBll : RenderDataTemplate
    {
        public override string ServiceId
        {
            get
            {
                return "AssetTNWebRenderBll";
            }
        }

        public string ProcessUrl(string SiteId, string FirstUrl, ParamCls[] Params)
        {
            string ReturnUrl = FirstUrl;
            if (Params == null) Params = new ParamCls[0];
            for (int iIndex = 0; iIndex < Params.Length; iIndex++)
            {
                ReturnUrl = ReturnUrl.Replace(Params[iIndex].Key, Params[iIndex].Key + "=" + Params[iIndex].Value);
            }
            return ReturnUrl;
        }

        public override OutRenderInfo Render(
            string SiteId,
            WebPartInt[] Webparts, 
            RenderInfo oRenderInfo,
            System.Web.UI.Page ActivePage)
        {
            OutRenderInfo oOutRenderInfo = new OutRenderInfo();
            oOutRenderInfo.HtmlContent = "Không tìm thấy kiểu webpart: " + oRenderInfo.RenderWebPartId;

            WebPartInt FoundWb = null;
            if (!string.IsNullOrEmpty(oRenderInfo.RenderWebPartId))
            {
                FoundWb = WebPartUtilities.FindWebPart(SiteId, Webparts, oRenderInfo.RenderWebPartId);
            }
            if (FoundWb != null)
            {
                ((WebPart)FoundWb).RegAjaxPro(ActivePage);
                SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
                LoadParamCls oLoadParamCls = new LoadParamCls();
                oLoadParamCls.Id = oRenderInfo.Id;
                oLoadParamCls.RefTitle = oRenderInfo.Subject;
                oLoadParamCls.SiteId = SiteId;
                oLoadParamCls.VisibleTitle = true;
                oLoadParamCls.LoadFromBackend = false;
                oOutRenderInfo.HtmlContent = ((Portal.Web.Global.WebPart)FoundWb).RenderWebPart(oLoadParamCls);
                return oOutRenderInfo;
            }
            else
            {
                if (oRenderInfo.RenderType.ToLower().Equals("Tag".ToLower()))
                {
                    oOutRenderInfo = RenderTag(SiteId, oRenderInfo);
                }
                if (oRenderInfo.RenderType.ToLower().Equals("MyTag".ToLower()))
                {
                    oOutRenderInfo = RenderMyTag(SiteId, oRenderInfo);
                }
            }
            return oOutRenderInfo;
        }



        OutRenderInfo RenderTag(string SiteId, RenderInfo oRenderInfo)
        {
            string ConnectionString = Environments.GetAppSettings(SiteId, "ConnectionString");
            string CommandText = "select top 30 * from TableAssetSearchKeyword order by TotalSearch DESC";
            DataTable dtKeyword = SqlReaderServiceBll.GetDataTable(SiteId, ConnectionString, CommandText, null);
            OutRenderInfo oOutRenderInfo = new OutRenderInfo();
            oOutRenderInfo.HtmlContent =
            " <div id=\"" + oRenderInfo.Id + "\">\r\n" +
            " <table class=\"il_Block\" datatable=\"0\">\r\n" +
            " <tbody><tr><td class=\"ilBlockHeader\" colspan=\"1\">\r\n" +
            " <div style=\"float:right;\">\r\n" +
            " <a href=\"default.aspx\"><img border=\"0\" alt=\"My Tags (Block): Close\" title=\"My Tags (Block): Close\" src=\"templates/default/icon_close2_s.gif\"></a>\r\n" +
            " </div>\r\n" +
            " <div style=\"float:left;\">\r\n" +
            " <!-- <img border=\"0\" src=\"./templates/default/images/icon_tag_s.gif\" alt=\"Icon My Tags\" title=\"Icon My Tags\" id=\"block_pdtag_0_blimg\" /> -->\r\n" +
            " <h3 class=\"ilBlockHeader\"><a class=\"ilAccAnchor\" name=\"block_pdtag_0_blhead\" id=\"block_pdtag_0_blhead\">" + oRenderInfo.Subject + "</a><span class=\"ilAccHidden\"> (Block)</span></h3> <span id=\"block_pdtag_0_loader\"></span>\r\n" +
            " </div>\r\n" +
            " </td>\r\n" +
            " </tr>\r\n" +
            " <tr class=\"tblrow1\">\r\n" +
            "       <td class=\"std\">\r\n" +
            "           <div class=\"small\">\r\n";
            if (dtKeyword.Rows.Count == 0)
            {
                oOutRenderInfo.HtmlContent += "<span class=CssNoTag>Chưa có từ khóa nào</span>\r\n";
            }
            int iFontSize = 150;
            for (int iIndex = 0; iIndex < dtKeyword.Rows.Count; iIndex++)
            {
                string Keyword = (string)dtKeyword.Rows[iIndex]["Keyword"];
                int TotalSearch = (int)dtKeyword.Rows[iIndex]["TotalSearch"];

                oOutRenderInfo.HtmlContent +=
                    "   <a href=\"default.aspx?k=" + Keyword + "\" style=\"font-size:" + iFontSize + "%;\">" + Keyword + "</a> (" + TotalSearch.ToString("#,##0") + ") \r\n";
                iFontSize = iFontSize - 4;
                if (iFontSize < 100) iFontSize = 100;
            }
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=History&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:100%;\">Dân ca Lô Lô (30)</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Lesson&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:100%;\">Tổ hợp hoa văn (20)</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:150%;\">Đám cưới khơ me (10)</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:150%;\">Dân tộc Êđê (15)</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:120%;\">Độc tấu đàn</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:120%;\">Đàn dân tộc</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:120%;\">Trống chiêng</a>\r\n" +
            oOutRenderInfo.HtmlContent +=
            " </div>\r\n" +
            " </td>\r\n" +
            " </tr>\r\n" +
            " </tbody></table>\r\n" +
            " </div>\r\n";
            return oOutRenderInfo;
        }

        OutRenderInfo RenderMyTag(string SiteId, RenderInfo oRenderInfo)
        {
            string ConnectionString = Environments.GetAppSettings(SiteId, "ConnectionString");
            string CommandText = "select top 30 * from TableAssetSearchKeywordOwner where Owner=@Owner order by TotalSearch DESC";
            DataTable dtKeyword = SqlReaderServiceBll.GetDataTable(SiteId, ConnectionString, CommandText, new ParamCls[] { new ParamCls("Owner", Environments.CurrentLoginUser.LoginName) });
            OutRenderInfo oOutRenderInfo = new OutRenderInfo();
            oOutRenderInfo.HtmlContent =
            " <div id=\"" + oRenderInfo.Id + "\">\r\n" +
            " <table class=\"il_Block\" datatable=\"0\">\r\n" +
            " <tbody><tr><td class=\"ilBlockHeader\" colspan=\"1\">\r\n" +
            " <div style=\"float:right;\">\r\n" +
            " <a href=\"default.aspx\"><img border=\"0\" alt=\"My Tags (Block): Close\" title=\"My Tags (Block): Close\" src=\"templates/default/icon_close2_s.gif\"></a>\r\n" +
            " </div>\r\n" +
            " <div style=\"float:left;\">\r\n" +
            " <!-- <img border=\"0\" src=\"./templates/default/images/icon_tag_s.gif\" alt=\"Icon My Tags\" title=\"Icon My Tags\" id=\"block_pdtag_0_blimg\" /> -->\r\n" +
            " <h3 class=\"ilBlockHeader\"><a class=\"ilAccAnchor\" name=\"block_pdtag_0_blhead\" id=\"block_pdtag_0_blhead\">" + oRenderInfo.Subject + "</a><span class=\"ilAccHidden\"> (Block)</span></h3> <span id=\"block_pdtag_0_loader\"></span>\r\n" +
            " </div>\r\n" +
            " </td>\r\n" +
            " </tr>\r\n" +
            " <tr class=\"tblrow1\">\r\n" +
            "       <td class=\"std\">\r\n" +
            "           <div class=\"small\">\r\n";
            if (dtKeyword.Rows.Count == 0)
            {
                oOutRenderInfo.HtmlContent += "<span class=CssNoTag>Chưa có từ khóa nào</span>\r\n";
            }
            int iFontSize = 150;
            for (int iIndex = 0; iIndex < dtKeyword.Rows.Count; iIndex++)
            {
                string Keyword = (string)dtKeyword.Rows[iIndex]["Keyword"];
                int TotalSearch = (int)dtKeyword.Rows[iIndex]["TotalSearch"];

                oOutRenderInfo.HtmlContent +=
                    "   <a href=\"default.aspx?k=" + Keyword + "\" style=\"font-size:" + iFontSize + "%;\">" + Keyword + "</a> (" + TotalSearch.ToString("#,##0") + ") \r\n";
                iFontSize = iFontSize - 4;
                if (iFontSize < 100) iFontSize = 100;
            }
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=History&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:100%;\">Dân ca Lô Lô (30)</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Lesson&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:100%;\">Tổ hợp hoa văn (20)</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:150%;\">Đám cưới khơ me (10)</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:150%;\">Dân tộc Êđê (15)</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:120%;\">Độc tấu đàn</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:120%;\">Đàn dân tộc</a>\r\n" +
            //"   <a href=\"default.aspx?col_side=right&block_type=pdtag&tag=Teaching&cmd=showResourcesForTag&cmdClass=ilpdtaggingblockgui&cmdNode=an:c9:bd&baseClass=ilPersonalDesktopGUI\" style=\"font-size:120%;\">Trống chiêng</a>\r\n" +
            oOutRenderInfo.HtmlContent +=
            " </div>\r\n" +
            " </td>\r\n" +
            " </tr>\r\n" +
            " </tbody></table>\r\n" +
            " </div>\r\n";
            return oOutRenderInfo;
        }
        
        //OutRenderInfo RenderSimpleSearch(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_SimpleSearch().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}

        //OutRenderInfo RenderPrintInventory(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_PrintInventory().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}


        //OutRenderInfo RenderPrintClass(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_PrintClass().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}


        //OutRenderInfo RenderPrintRecorder(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_PrintRecorder().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}




        //OutRenderInfo RenderPrintVideoRecorder(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_PrintVideoRecorder().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}


        //OutRenderInfo RenderPrintTemporary(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_PrintTemporary().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}


        //OutRenderInfo RenderPrintCollect(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_PrintCollect().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}

        //OutRenderInfo RenderAdvanceSearch(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_AdvanceSearch().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}

        //OutRenderInfo RenderSearchRecorder(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_SearchRecorder().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}


        //OutRenderInfo RenderSearchVideoRecorder(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_SearchVideoRecorder().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}


        //OutRenderInfo RenderOtherSearch(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent = new AssetTN_SearchOther().RenderWebPart(oLoadParamCls);
        //    return oOutRenderInfo;
        //}
        
        //OutRenderInfo RenderViewAssetRecord(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    LoadParamCls oLoadParamCls = new LoadParamCls();
        //    oLoadParamCls.Id = oRenderInfo.Id;
        //    oLoadParamCls.RefTitle = oRenderInfo.Subject;
        //    oLoadParamCls.SiteId = SiteId;
        //    oLoadParamCls.VisibleTitle = true;
        //    oLoadParamCls.LoadFromBackend = false;
        //    oOutRenderInfo.HtmlContent =
        //        PortalRenderBll.GetPorletFromTemplate(SiteId, "viewasset", "Xem chi tiết thông tin hiện vật", new AssetTN_ViewRecord().RenderWebPart(oLoadParamCls)).HtmlContent;
        //    return oOutRenderInfo;
        //}


        //string RenderIntro(string Title,string ImageUrl,Intro[] Intros,bool ShowDetail)
        //{
        //    string Html = 
        //        "<div class=\"style1\">\r\n"+
        //        "   <h1 class=\"style2\">" + Title + "<table width=\"1\" class=\"ilc_media_cont_NoFrame\" style=\"float:right; clear:both; margin-right: 0px;\"><tbody><tr><td class=\"ilc_Mob\"><img border=\"0\" src=\"templates/default/images/"+ImageUrl+"\" width=\"64\" height=\"64\"></td></tr></tbody></table></h1>\r\n";
        //    for(int iIndex=0;iIndex<Intros.Length;iIndex++)
        //    {
        //            Html+=
        //                "<h3 class=\"style3\">" + Intros[iIndex].Heading + "</h3>\r\n"+
        //                "<div class=\"style4\">" + Intros[iIndex].Content + "</div>\r\n";
        //        if (ShowDetail)
        //        {
        //            Html +=
        //            "<span class=\"ilc_text_inline_Comment\">» <a href=\"" + Intros[iIndex].Url + "\">Chi tiết</a></span> \r\n";
        //        }
        //    }
        //    Html+=
        //        "</div>";
        //    return Html;
        //}


        //OutRenderInfo RenderRepository(string SiteId, RenderInfo oRenderInfo)
        //{
        //    SiteParam oSiteParam = Environments.CreateSiteParam(SiteId);
        //    if (string.IsNullOrEmpty(oRenderInfo.Section)) oRenderInfo.Section = "";
        //    OutRenderInfo oOutRenderInfo = new OutRenderInfo();
        //    if (string.IsNullOrEmpty(oRenderInfo.Section))
        //    {
        //        oOutRenderInfo.HtmlContent = RenderIntro("Chức năng và ngữ cảnh","package.png", new Intro[]{
        //                new Intro("Kho dữ liệu","Tổ chức tài nguyên nghiên cứu của bọn. Định nghĩa các nhóm (Role) và quyền (Permission) để truy cập. Ví dụ:Ngữ cảnh cho trường đại học, trường trung học, công ty vv..."),
        //                new Intro("Màn hình cá nhân","Truy cập vào tài nguyên của bạn nhanh chóng. Quản lý Email, ghi chú, lịch, hồ sơ và thiết lập thông tin cá nhân."),
        //                new Intro("Quản lý khóa học","Tạo mới khóa, Quản lý thành viên, Cung cấp tài nguyên học tập, Sử dụng lịch và các tài nguyên khác.","Goto.aspx?PageId=Repository.Course&Section=Course"),
        //                new Intro("Nhóm","Tạo môi trường học tập với các thành viên khác."),
        //                new Intro("Quản lý nội dụng","Tạo ra các module bài giảng. Sử dụng chuẩn SCORM 1.2 và 2004  để tạo các bài giảng."),
        //                new Intro("Wiki","Chia sẽ thông tin của bạn. Nhúng các video trên youtube và bản đồ google một cách nhanh chóng"),
        //                new Intro("Diễn đàn thảo luận","Hỗ trợ thảo luận trên diễn đàn. Sử dụng WYSIWYG  để soạn thảo"),
        //                new Intro("Kiểm tra test","Sử dụng tài nguyên test trên hệ thống. Các câu hỏi có thể tài sử dụng"),
        //                new Intro("Đánh giá (survey)","Thực hiện đánh giá lấy ý kiến"),
        //                new Intro("Thanh toán","Thanh toán chi phí sử dụng, mua bán các bài giảng"),
        //            },true);
        //    }

        //    if (oRenderInfo.Section.Equals("Course"))
        //    {
        //        oOutRenderInfo.HtmlContent = RenderIntro("Khóa học","edu_miscellaneous.png", new Intro[]{
        //                new Intro("Đăng ký","Cho phép tìm kiếm các khóa học có trên hệ thống sau đó tiến hành đăng ký để học. Bạn cần cung cấp mật khẩu của khóa học khi tiến hành đăng ký đối với các khóa học không miễn phí<br><br>Một khóa học sẽ có ngày bắt đầu và kết thúc cũng như các thành viên tham gia khóa học này."),
        //                //new Intro("Course Presentation","You can choose between several course presentation types that focus e.g. on course sessions or on learning objectives.<br><br>Resources can be orderd alphabetically, with a custom ordering or by activation time. Each resource can define preconditions or start and end time for its activation."),
        //                new Intro("Thành viên","Thành viên trong khóa học được quản trị dễ dàng. Hệ thống thông báo tự động sẽ gửi các tin nhắn đến các thành viên các thông tin khóa học, tài liệu vv.<br><br>Khóa học sẽ cung cấp toàn bộ hồ sơ các thành viên tham dự. Ngoài ra bạn còn có thể chia sẽ các tài nguyên và thông tin của mình cho các thành viên khác trong khóa học."),
        //                //new Intro("Nhóm và khóa học","In ILIAS groups can exists outside and inside courses. Using groups in courses allows you to divide your course members into separate teams that get their own workspaces to share their resources."),
        //            },false);
        //    }
            
        //    return oOutRenderInfo;
        //}

        
        public override void RegAjaxPro(System.Web.UI.Page ActivePage)
        {
            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_SimpleSearch), ActivePage);
            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_AdvanceSearch), ActivePage);
            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_SearchOther), ActivePage);

            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_ViewRecord), ActivePage);

            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_PrintClass), ActivePage);
            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_PrintCollect), ActivePage);
            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_PrintInventory), ActivePage);
            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_PrintRecorder), ActivePage);
            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_PrintTemporary), ActivePage);
            //AjaxPro.Utility.RegisterTypeForAjax(typeof(AssetTN_PrintVideoRecorder), ActivePage);
        }
    }
}
